In recent years a continued growth in demand for bandwidth over communications networks has fueled the deployment of telecommunication lines made of fiber optics. Also, to better exploit the huge bandwidth capacity of optical fibers, widespread use of WDM (Wavelength Division Multiplexing) systems has been observed. As a result, the bottleneck to carrying more and more data in large communications networks is no longer in the links but is rather at the exchange nodes. Although many different protocols for transporting data are in use, such as Asynchronous Transfer Mode (ATM), Frame Relay and Internet Protocol (IP), the implementation of network nodes capable of handling aggregate data traffic in the range of hundreds of gigabits per second (or even in terabits per second) rests mainly on switching techniques and the use of high-performance packet switch devices.
Many different approaches are available to carry out switching at network nodes. A popular solution, regardless of the higher communications protocol used to link the end-users, is to employ fixed-size packet (also referred to as cell) switching devices. These devices are more easily tunable for performance than other solutions, especially those handling variable-length packets which are often built over a ring or a bus architecture. In such a solution, N×N switches, which can be viewed as black boxes with N inputs and N outputs, are made capable of moving fixed-size packets from any incoming link to any outgoing link. An incoming link is connected to a switch fabric through an input port. In practice, there is always a port to line adapter between the physical incoming link (e.g., a fiber optic connection) and the actual switch fabric input port in order to adapt the generally complex physical protocol (e.g., SONET (Synchronous Optical NETwork standard)) to the higher communications protocols in use between switching nodes. Such adaptation is necessary to take into account the fact that switches are tailored to handle fixed-size packets and are not able to directly move the variable length packets of many protocols. Similarly, the interface between the switch fabric and the outgoing link is referred to as the output port and there is also an output adapter.
Hence, if switches have indeed evolved to accommodate the huge increase in available bandwidth resulting from the deployment of optical fibers, it remains that these devices are intrinsically intended to establish point-to-point communications, that is, their architecture is best suited for linking one incoming link to one outgoing link. Unlike a shared-medium architecture (e.g., a ring or a bus) which naturally supports multicast or broadcast traffic (since each adapter connected to the shared medium ‘sees’ all the traffic on the shared medium) carrying out these network mandatory functions in a switch is not straightforward. Supporting such traffic requires that, in one way or another, packets entering through an input port be replicated over some (multicast) or all (broadcast) of the output ports.
Since, in order to save internal memory, packets are not actually replicated in the switches, the management of the multicast and broadcast traffic is complex. More importantly, it tends to consume other switch resources at the expense of the unicast traffic, and thus may significantly aggravate or create traffic congestion. As an example of the added complexity, for each multicast flow, a list of output ports through which a packet has to be sent must be maintained and the single copy of the packet to be replicated cannot be released until the last port on the list has been served.
The use of switches, in particular fixed-packet switches, has proved to be a viable solution to implement terabit switching functions while shared-medium solutions, based on rings or busses, have failed to cope with the huge demand for bandwidth accompanying the deployment of optical fibers. However, this has been at the expense of having to implement, in switches, sophisticated mechanisms to effectively support broadcast and multicast using a device whose architecture does not fit well with these mandatory operations and which, most importantly, tend to quickly create traffic congestion if not properly controlled.